//通用工具类
//判空的方法
const isEmpty = (obj) => {
  if (typeof obj == "undefined" || obj == null || obj == "" || obj == []) {
    return true;
  } else {
    return false;
  }
}
/**
 * 判断对象是否有具体的值,比如{}
 * @param  obj 
 */
const isObjEmpty = (obj) => {
  if (typeof obj == "undefined" || obj == null || Object.keys(obj).length == 0) {
    return true;
  } else {
    return false;
  }
}

/**
 * 防抖函数的使用,解决问题的场景:比如用户输入搜索的功能,使用该函数可以实现在默认世间内用户如果连续输入就不执行操作,超过默认事件用户
 * 没有继续输入则认为用户输入结束,然后执行相关的业务逻辑
 */
const dobounce = (fun, delay) => {
  let timer = null
  return function (...args) {
    //先判断定时器是否为空,不为空则取消定时器
    if (timer) clearTimeout(timer)
    timer = setTimeout(() => {
      fun.apply(this, args)
    }, delay)
  }
}

export default {
  isEmpty,
  isObjEmpty,
  dobounce
}
